1. Field of the Invention
The invention generally relates to systems, methods, and products for watermarking of signals, and, more particularly, to computer-implemented systems, methods, and products for embedding an electronic form of a watermarking signal into an electronic form of a host signal.
2. Related Art
There is growing commercial interest in the watermarking of signals, a field more generally referred to as xe2x80x9csteganography.xe2x80x9d Other terms that refer to this field include xe2x80x9chidden communication,xe2x80x9d xe2x80x9cinformation hiding,xe2x80x9d xe2x80x9cdata hiding,xe2x80x9d and xe2x80x9cdigital watermarking.xe2x80x9d Much of this interest has involved deterrence of copyright infringement with respect to electronically distributed material. Generally, the purpose of known steganographic systems in this field is to embed a digital watermark signal (for example, a serial number) in a host signal (for example, a particular copy of a software product sold to a customer). Other common host signals include audio, speech, image, and video signals. A purpose of many of such digital watermarking systems is to embed the watermark signal so that it is difficult to detect, and so that it is difficult to remove without corrupting the host signal. Other purposes are to provide authentication of signals, or to detect tampering.
Often, such known systems include xe2x80x9ccodingxe2x80x9d functions that embed the watermark signal into the host signal to generate a composite signal, and xe2x80x9cdecodingxe2x80x9d functions that seek to extract the watermark signal from the composite signal. Such functions may also be referred to as transmitting and receiving functions, indicating that the composite signal is transmitted over a channel to the receiver. Generally, the composite signal is suitable for the functions intended with respect to the host signal. That is, the host signal has not been so corrupted by the embedding as to unduly compromise its functions, or a suitable reconstructed host signal may be derived from the composite signal.
Although prevention of copyright infringement has driven much of the current interest in steganographic systems, other applications have also been proposed. For example, digital watermarking could be used by sponsors to automate monitoring of broadcasters"" compliance with advertising contracts. In this application, each commercial is watermarked, and automated detection of the watermark is used to determine the number of times and time of day that the broadcaster played the commercial. In another application, captions and extra information about the host signal could be embedded, allowing those with the appropriate receivers to recover the information.
Various known approaches to the implementation of steganographic systems and simple quantization techniques are described in the following publications, which are hereby incorporated by reference: (1) N. S. Jayant and P. Noll, Digital Coding of Waveforms: Principles and Applications to Speech and Video. Prentice-Hall, 1984; (2) I. J. Cox, J. Killian, T. Leighton, and T. Shamoon, xe2x80x9cA secure, robust watermark for multimedia,xe2x80x9d in Information Hiding. First International Workshop Proceedings, pp.185-206, June 1996; (3) J. R. Smith and B. O. Comiskey, xe2x80x9cModulation and information hiding in images,xe2x80x9d in Information Hiding. First International Workshop Proceedings, pp.207-226, June 1996; (4) W. Bender, D. Gruhl, N. Morimoto, and A. Lu, xe2x80x9cTechniques for data hiding,xe2x80x9d IBM Systems Journal, vol.35, no.3-4, pp.313-336, 1996; (5) L. Boney, A. H. Tewfik, and K. N. Hamdy, xe2x80x9cDigital watermarks for audio signals,xe2x80x9d in Proceedings of the International Conference on Multimedia Computing and Systems 1996, pp.473-480, June 1996; (6) J.-F. Delaigle, C. D. Vleeschouwer, and B. Macq, xe2x80x9cDigital watermarking,xe2x80x9d in Proceedings of SPIE, the International Society for Optical Engineering, pp.99-110, Feb. 1996; (7) P. Davern and M. Scott, xe2x80x9cFractal based image steganography,xe2x80x9d in Information Hiding. First International Workshop Proceedings, pp.279-294, June 1996, (8) R. Anderson, xe2x80x9cStretching the limits of steganography,xe2x80x9d in Information Hiding. First International Workshop Proceedings, pp.39-48, June 1996; (9) B. Pfitzmann, xe2x80x9cInformation hiding terminology,xe2x80x9d in Information Hiding. First International Workshop Proceedings, pp.347-350, June 1996; and (10) G. W. Braudaway, K. A. Magerlein, and F. Mintzer, xe2x80x9cProtecting publicly-available images with a visible image watermark,xe2x80x9d in Proceedings of SPIE, the International Society for Optical Engineering, pp.126-133, Febuary 1996.
Some of such known approaches may be classified as xe2x80x9cadditivexe2x80x9d in nature (see, for example, the publications labeled 2-6, above). That is, the watermark signal is added to the host signal to create a composite signal. In many applications in which additive approaches are used, the host signal is not known at the receiving site. Thus, the host signal is additive noise from the viewpoint of the decoder that is attempting to extract the watermark signal.
Some of such, and other, known approaches (see, for example, the publications labeled 2, 4, 5, 6, and 7, above) exploit special properties of the human visual or auditory systems in order to reduce the additive noise introduced by the host signal or to achieve other objectives. For example, it has been suggested that, in the context of visual host signals, the watermark signal be placed in a visually significant portion of the host signal so that the watermark signal is not easily removed without corrupting the host signal. Visually significant portions are identified by reference to the particularly sensitivity of the human visual system to certain spatial frequencies and characteristics, including line and corner features. (See the publication labeled 2 , above.) It is evident that such approaches generally are limited to applications involving the particular human visual or auditory characteristics that are exploited.
One simple quantization technique for watermarking, commonly referred to as xe2x80x9clow-bit codingxe2x80x9d or xe2x80x9clow-bit modulation,xe2x80x9d is described in the publication labeled 4, above. As described therein, the least significant bit, or bits, of a quantized version of the host signal are modified to equal the bit representation of the watermark signal that is to be embedded.
The present invention includes in some embodiments a system, method, and product for (1) optionally pre-processing one or more primary signals to generate a transformed host-signal and/or a transformed watermark-signal; (2) embedding one or more watermarked signals and/or transformed watermark signals into a host signal and/or the transformed host signal, thereby generating a composite signal, (3) optionally performing distortion compensation on the composite signal, thereby generating a distortion-compensated composite signal, (4) optionally enabling the composite signal, the digtortion-compensated composite signal, or both, to be transmitted over a communication channel, and (5) optionally extracting the watermark signal from the transmitted composite signal, distortion-compensated composite signal, or both.
More specifically, with respect to point (3), the present invention may include a distortion compensator that performs distortion compensation on the composite signal to generate a distortion-compensated composite signal that is less distorted than the composite signal. In some implementations, the distortion compensator includes a difference signal generator that generates a signal that is a difference between a host signal and a composite signal, a difference signal processor that scales the difference signal, and a distortion compensation combiner that generates a distortion-compensated composite signal based on the scaled difference signal and the composite signal 332. This combination of signals may be done by addition. Optionally, the distortion-compensated composite signal may be generated based on the host signal and quantization values generated by an ensemble designator.
In one implementation, the invention is a distortion-compensated system that watermarks a host signal with a watermark signal. The watermark signal includes watermark-signal components, each having one of a two or more watermark-signal values, and the host signal includes host-signal components, each having one of two or more host-signal values. The system includes an ensemble designator that designates two or more embedding generators, each corresponding to a single watermark-signal value of a co-processed group of one or more watermark-signal components. Also included in the system is an embedding value generator that generates, by each embedding generator, two or more embedding values, the total of each plurality of embedding values including a first embedding-value set. At least one embedding value generated by a first embedding generator is not the same as any embedding value generated by a second embedding generator. The system further includes a point coder that sets at least one host-signal value of one or more selected host-signal components to a first embedding value of a third embedding generator, thereby forming a composite-signal value. The third embedding generator corresponds to a first watermark-signal value of the group of co-processed watermark-signal components. Also, at least one embedding interval of one embedding generator is not the same as any embedding interval of at least one other embedding generator. A distortion compensator is also included in the system. It modifies at least one composite signal value, thereby forming a distortion-compensated composite signal value of a distortion-compensated composite signal component. The distortion-compensated composite signal value has a distortion with respect to the host signal value that is less than a distortion of the composite signal value with respect to the host signal value.
In some aspects of this implementation, the distortion compensator modifies composite signal values based on a number of possible watermark signal values to be embedded, a watermark-induced distortion level, an expected channel-induced distortion level, and a reliability of extracting the watermark signal.
In some aspects, the distortion compensator includes a difference signal generator that generates at least a first difference signal component having a first difference-signal value that is the difference between a first host-signal value of a first host signal component and its corresponding first composite-signal value. The distortion compensator may also include a difference signal processor that scales the first difference-signal value by a first scaling factor. The difference signal generator may generate a second difference signal component having a second difference-signal value that is the difference between a second host-signal value of a second host signal component and its corresponding composite-signal value. The difference signal processor may scale the second difference-signal value by a second scaling factor that is different than the first scaling factor.
In some further aspects, the difference signal generator generates a second difference signal component having a second difference-signal value that is the difference between a second host-signal value of a second of the one or more selected host signal components and its corresponding composite-signal value. The first scaling factor may be based, at least in part, on the second difference-signal value. Also, the first scaling factor may be based, at least in part, on the first host-signal value.
The distortion compensator may further include a difference signal generator that generates at least a first difference signal component having a first difference-signal value that is the filtered difference between a first host-signal value of a first of the one or more selected host signal components and its corresponding composite-signal value. This filtering may be based on at least one perceptual masking property of at least one host-signal component. The filtering may be done using a Fourier transform.
Also included in aspects of the distortion compensator is a distortion compensation combiner that generates at least a first distortion-compensated composite signal based on the scaled first difference-signal value and the first composite-signal value. This generation may be done by adding the scaled first difference-signal value and the first composite-signal value. In further aspects, the distortion compensation combiner generates at least a first distortion-compensated composite signal based on the scaled first difference-signal value, the first composite-signal value, and the first host-signal value. This signal may also be based on one or more host-signal values other than (or also including) the first host-signal value. Also, the first distortion-compensated composite signal may be based on at least one perceptual masking property of at least one host-signal component.
In other implementations, the invention is a method for distortion-compensated watermarking of a host signal with a watermark signal. The watermark signal includes watermark-signal components, each having one of two or more watermark-signal values, and the host signal includes host-signal components, each having one of two or more host-signal values. The method includes the steps of
(1) designating two or more embedding generators, each corresponding to a single watermark-signal value of a co-processed group of one or more watermark-signal components;
(2) generating, by each embedding generator, two or more embedding values, the total of each plurality of embedding values including a first embedding-value set, wherein at least one embedding value generated by a first embedding generator is not the same as any embedding value generated by a second embedding generator;
(3) setting at least one host-signal value of one or more selected host-signal components to a first embedding value of a third embedding generator, thereby forming a composite-signal value, wherein the third embedding generator corresponds to a first watermark-signal value of the group of co-processed watermark-signal components, and wherein at least one embedding interval of one embedding generator is not the same as any embedding interval of at least one other embedding generator; and
(4) modifying at least one composite signal value, thereby forming a distortion-compensated composite signal value of a distortion-compensated composite signal component, wherein the distortion-compensated composite signal value has a distortion with respect to the at least one host signal value that is less than a distortion of the at least one composite signal value with respect to the at least one host signal value.
In yet other implementations, the invention is a computer program product. The product includes storage media that contains software that, when executed on a computing system, performs a method for watermarking a host signal with a watermark signal. The watermark signal includes watermark-signal components, each having one of two or more watermark-signal values, and the host signal includes host-signal components, each having one of two or more host-signal values. The method performed by the software includes the steps of:
(1) designating a plurality of embedding generators, each corresponding to a single watermark-signal value of a co-processed group of one or more watermark-signal components;
(2) generating, by each embedding generator, a plurality of embedding values, the total of each plurality of embedding values including a first embedding-value set, wherein at least one embedding value generated by a first embedding generator is not the same as any embedding value generated by a second embedding generator;
(3) setting at least one host-signal value of one or more selected host-signal components to a first embedding value of a third embedding generator, thereby forming a composite-signal value, wherein the third embedding generator corresponds to a first watermark-signal value of the group of co-processed watermark-signal components, and wherein at least one embedding interval of one embedding generator is not the same as any embedding interval of at least one other embedding generator; and
(4) modifying at least one composite signal value, thereby forming a distortion-compensated composite signal value of a distortion-compensated composite signal component, wherein the distortion-compensated composite signal value has a distortion with respect to the at least one host signal value that is less than a distortion of the at least one composite signal value with respect to the at least one host signal value.